/**************************************************************************************
*
*	Copyright (C) 2009 - 2012 Brent Andrew O. Chua - See LICENSE.txt for more info.
*		
*	Filename	-	ParameterBinderTexture2D.h
*
*	Description -	.
*
*	Comments	-
*
*	Modification History:
*			Name			   Date					Description
*			MrCodeSushi	-	10/01/2012	-	Creation of this file
**************************************************************************************/
#ifndef _PSX_PARAMETER_BINDER_TEXTURE_2D_H_
#define _PSX_PARAMETER_BINDER_TEXTURE_2D_H_

#include "PulseSTD.h"
#include "GraphicsTypes.h"
#include "IParameterBinder.h"
//#include "Vector4.h"

namespace Pulse
{
	class ParameterBinderTexture2D : public IParameterBinder
	{
	public:

		ParameterBinderTexture2D( void );

		ParameterBinderTexture2D( IParameter *pParam );

		virtual ~ParameterBinderTexture2D( void );

		virtual void SetAsTexture2D( Texture2D *pData ) { SetData(pData); }

		void SetData( Texture2D *pData );

		virtual void BindValue( void );

		virtual EParameter::Type GetType( void ) { return EParameter::TEXTURE2D; }

	private:

		Texture2D *m_pData;

	};
}

#endif /* _PSX_PARAMETER_BINDER_TEXTURE_2D_H_ */